Eyes^3 (pronounced “eyes cubed”) is an eyes program that works in the third dimension. Thanks to Apple’s QuickDraw™ 3D technology, the eyes that Eyes^3 displays in its windows are real eye balls that rotate in 3D space. Colors and lighting can be customized. In addition, you can set the mouse’s simulated distance from the eyes. You can also specify a dominant eye, so that both eyes follow the dominant eye’s rotation.
Eyes^3 is a module in a suite of three-dimensional applications collectively called Cubicle. Cubicle is a set of fully three-dimensional, interactive desk accessories. Another already-released module is Clock^3, a three-dimensional clock program. Watch out for additional QuickDraw™ 3D-savvy Cubicle programs from this developer.
Because Eyes^3 uses Apple’s QuickDraw™ 3D technology, it requires a Power Macintosh with at least 16M of RAM. Needless to say, QuickDraw™ 3D must also be installed in your system.
Version History
Changes in Version 1.1:
• eyes are now smoothly rendered (i.e. without facets)
• eye rotation is now constrained to more realistic angles
• made a number of small performance, reliability, and efficiency tune-ups
• improved (slightly) the handling of low-memory conditions
As QuickDraw™ 3D is a relatively new technology, the 3D routines which Eyes^3 depends on may themselves have bugs. In particular, memory management in QuickDraw™ 3D may still have occasional leaks and glitches. In these cases, please download the latest version of QuickDraw™ 3D whenever it becomes available. At this writing, the latest version is 1.0.4.
System Requirements
Eyes^3 requires a Power Macintosh with QuickDraw™ 3D version 1.0.3 or higher and at least 16 megabytes of total memory. It has been explicitly tested on the following systems: Power Macintosh 8500/120 with 32 megabytes of memory and System 7.5.3, PowerBook 5300/100 with 16 megabytes of memory and System 7.5.3, Power Macintosh 7100/80 with 24 megabytes of memory and System 7.5.1, Performa 5200/75 with 16 megabytes of memory and System 7.5.1, and Power Macintosh 7200/90 with 16 megabytes of memory and System 7.5.2.
User Guide
Eyes^3 (pronounced “eyes cubed”) opens windows that display three-dimensional sets of eyes. The following paragraphs summarize the options in Eyes^3. Eyes^3 also has extensive balloon help, so you can get most of the information below by choosing “Show Balloons” from the Help menu.
Window Controls
An eyes window in Eyes^3 has the following controls and functions:
Close box: Dismisses an eyes window.
Zoom box: Toggles between the standard eye size (full screen) and the user-defined size, as set by the Resize box.
Resize box: Resizes the eyes window in the usual manner. Note that when an eyes window changes size, the eyeballs within the window scale accordingly.
Menu Commands
The following functions are available via menu commands:
File Menu
New: Opens a new eyes window, using the current default preferences (see Eyes^3 Preferences below).
Close: Closes the frontmost eyes window.
Export…: Exports the current set of eyes to a QuickDraw ™ 3D document that you specify. If a QuickDraw™ 3D document with that name already exists, you will be asked if you want to replace it.
Quit: Quits from Eyes^3.
Edit Menu
Undo: Disabled, because this operation is not present in Eyes^3.
Cut: When a dialog box with text fields is active, moves the current content of the a dialog box text entry field onto the clipboard. This command does not apply to an eyes window.
Copy: Copies the current content of the frontmost eyes window (or the selection in a dialog box with text fields) onto the clipboard. The content of the eyes window (or text field) itself is unchanged.
Paste: Copies the current content of the clipboard into a dialog box text entry field. This command does not apply to an eyes window.
Clear: Disabled, because this operation is not present in Eyes^3.
Select All: Disabled, because this operation is not present in Eyes^3.
Preferences…: Displays the Eyes^3 Preferences dialog box. When invoked while at least one eyes window is open, the Eyes^3 Preferences affect the frontmost eyes window. If invoked when no eyes windows are open, the preferences affect the overall default settings. See below for an explanation of the Eyes^3 Preferences dialog box.
The Eyes^3 Preferences Dialog Box
This section explains the options available in the Eyes^3 Preferences dialog box. A preview window within the dialog box gives you constant feedback on the eyes specified by the current preferences. If an eyes window is active at the time that the dialog box is opened, these preferences will affect the setup in that eyes window. If no eyes windows are open, then the preferences dialog box affects the overall Eyes^3 defaults. Alternatively, you can set the Eyes^3 defaults at any time by clicking on the Make Default button (see below).
Factory Reset: Click this button to set the preferences to Eyes^3’s internal defaults.
Mouse Distance: Because Eyes^3 is a genuine 3D program, the mouse has a distance setting. The distance setting tells Eyes^3 how far away the mouse is from the eyes. A distance of zero means that the mouse lies on the same plane as the eyeballs do.
Blink: This check box determines whether or not the eyes blink.
Dominant Eye: The 3D eyes in Eyes^3 can either be independent on each other or follow a selected dominant eye. Use this menu to choose your desired setting. Having a dominant eye means that both eyes follow the direction of that eye; this effectively eliminates the cross-eye effect when the mouse is in between the eyes (and close enough to them).
Eye Color…: This button opens a color selection dialog box that determines the color of the eyes.
Eyelid Color…: This button opens a color selection dialog box that determines the color of the eyelids.
Face Color…: This button opens a color selection dialog box that determines the color of the eyes’ face (i.e. the background color).
Lighting
This section of the dialog box determines how your eyes scene is lit. The pertinent settings for Eyes^3 lighting are:
Brightness: This value, valid from 0.0 to 1.0, determines the brightness of the lights in the scene.
Light Color…: This button opens a color selection dialog box that determines the light color.
The buttons at the bottom of the dialog box either save or cancel the current set of preferences.
Make Default: Click this button to save the current preferences as the overall Eyes^3 default. Note that this button is disabled when you invoke the preferences when no eyes windows are open, because at that point the preferences always affect the default settings.
Cancel: Click this button to get out of the preferences dialog box while leaving the active eyes window (or the Eyes^3 defaults) untouched.
Save: Click this button to save your current preferences, either into the active eyes window or the Eyes^3 defaults (depending on whether or not an eyes window is currently open). Eyes^3 will dim this button for you if it senses that the current set of preferences is exactly the same as the original set.
Known Problems and Cautions
Because this developer does not have very much in term of time or material resources, and also because QuickDraw™ 3D is still a nascent and very challenging technology, I’d like to mention a few caveats to users of Eyes^3:
• Be careful with keeping many eyes windows open at once; make sure that your system configuration (i.e. amount of available RAM) can handle the number of eyes that you create. Version 1.1 has improved Eyes^3’s handling of low memory conditions. However, as a very small developer with limited resources, I have not been able to track down all memory-related errors. At the very least, I can say with confidence that most of these errors occur in high-memory-demand situations, i.e. sufficiently many open eyes windows. So please be careful when your Eyes^3 usage falls into either category.
• Because Eyes^3 calculates and renders its eyeballs in full 3D, you will encounter a speed hit in your other applications while Eyes^3 is running. This speed hit varies from machine to machine, and increases as the number of eyes increases. Of course, this decrease in speed is pretty unavoidable; I’m just mentioning it so that you know it exists and can only be alleviated either by upgrading your Power Macintosh to a higher speed or acquiring a hardware 3D accelerator.
Credits
Many thanks to my beta testers: David Gladstone, Chris Larson, Herman Atienza, and the Lombos brothers.
In what may become a common thread in most of my software, many thanks go to Chris Larson for much technical and religious guidance.
Legal & Contact Information
Eyes^3 is volunteerware — that is, you are free to provide any kind of positive reinforcement to the programmer (grin) if you like his software. But seriously, at the very least, I would very much appreciate a short e-mail message if you like Eyes^3 and have decided to use it for yourself. This at least gives me an idea of how it is being received out there.
I give my permission to include Eyes^3 in any freeware or shareware CD. However, please inform me if your intention, so that I can keep track of which CDs contain my software.
Please direct all correspondence concerning Eyes^3 to: dondi@cs.ucla.edu. Enjoy!